/**
 * 客流预测输入数据类型
 * 用于保存到后台和从后台查询的数据
 * 仅包含用户输入的原始数据，不包含计算结果
 */
export interface MarketResearchInputData {
	// ==================== 基础信息 ====================
	/** 数据ID */
	id?: number;
	/** 项目ID */
	projectId?: number;
	/** 任务ID */
	taskId?: number;

	// ==================== 输入数据：周边小区信息 ====================
	/** 周边小区数量 (个) */
	residentialComplexes?: number;
	/** 居民总人数 (人) */
	residentsCount?: number;
	/** 居民捕获率 (%) */
	residentialPenetration?: number;

	// ==================== 输入数据：办公区域信息 ====================
	/** 办公大楼数量 (栋) */
	officeBuildings?: number;
	/** 办公人员数量 (人) */
	officeWorkers?: number;
	/** 办公人员捕获率 (%) */
	officePenetration?: number;

	// ==================== 输入数据：娱乐与会所信息 ====================
	/** 娱乐场所数量 (个) */
	entertainmentVenues?: number;
	/** 娱乐场所日均顾客流量 (人) */
	entertainmentCustomers?: number;
	/** 娱乐顾客捕获率 (%) */
	entertainmentPenetration?: number;

	// ==================== 输入数据：其他客流信息 ====================
	/** 其他客流来源 (人/天) */
	otherCustomersSource?: number;
	/** 其他客流捕获率 (%) */
	otherCustomersPenetration?: number;

	// ==================== 输入数据：竞争环境信息 ====================
	/** 竞争对手数量 (个) */
	competitorCount?: number;
	/** 竞争对手影响率 (%) */
	competitorImpactRate?: number;
}

/**
 * 页面内部展示结果数据类型
 * 用于页面内部的计算结果展示，与保存的数据结构不同
 */
export interface ResultData {
	/** 居民区客流量 */
	residentialCustomers : number;
	/** 办公区客流量 */
	officeCustomers : number;
	/** 娱乐区客流量结果 */
	entertainmentCustomersResult : number;
	/** 其他客流量 */
	otherCustomers : number;
	/** 预估日均客流总量 */
	totalDailyCustomers : number;
	/** 预估转化率 (%) */
	conversionRate : number;
	/** 有效购物客流量 */
	effectiveCustomers : number;
	/** 竞争影响系数 */
	competitionImpact : number;
	/** 基础总客流（未考虑竞争影响） */
	baseTotalCustomers : number;
}

// 定义图表数据源类型
export interface ChartSource {
	/** 客流来源名称 */
	name : string;
	/** 客流量数值 */
	value : number;
	/** 图表高度百分比 */
	height : number;
	/** 图表颜色 */
	color : string;
}



/**
 * 风险评估结果类型
 * 用于页面展示风险评估信息
 */
export interface RiskAssessment {
	/** 风险级别 */
	level: string;
	/** 风险颜色代码 */
	color: string;
	/** 风险建议文本 */
	advice: string;
}



// 定义风险配置接口（包含所有必要字段）
export interface RiskConfig {
	/** 风险级别 */
	level : string;
	/** 风险颜色代码 */
	color : string;
	/** 风险建议文本 */
	advice : string;
	/** 该风险级别的最小顾客数阈值 */
	minCustomers : number;
}
// 风险配置数组 - 包含不同风险级别的具体配置
export const RISK_CONFIGS : RiskConfig[] = [
	/** 低风险配置 - 日均有效客流≥2000人 */
	{ level: '低风险', color: '#10b981', advice: '客流量充足，建议尽快开业', minCustomers: 2000 },
	/** 中低风险配置 - 日均有效客流≥1000人 */
	{ level: '中低风险', color: '#34d399', advice: '客流较好，建议优化运营', minCustomers: 1000 },
	/** 中等风险配置 - 日均有效客流≥500人 */
	{ level: '中等风险', color: '#f59e0b', advice: '客流一般，需谨慎', minCustomers: 500 },
	/** 高风险配置 - 日均有效客流≥200人 */
	{ level: '高风险', color: '#ef4444', advice: '客流不足，建议重新选址', minCustomers: 200 },
	/** 极高风险配置 - 日均有效客流<200人 */
	{ level: '极高风险', color: '#dc2626', advice: '不建议在此位置开店', minCustomers: 0 }
];